﻿namespace GoFun.Tests

open NUnit.Framework
open GoFun.Lib
open FsCheck

type CustomGenerators =

    static member Position() =
        { new Arbitrary<Position>() with
            override x.Generator = (PosGenerator.choosePos testBoardDim)
            override x.Shrinker t = Seq.empty
        }

    static member Path() =
        { new Arbitrary<Path>() with
            override x.Generator = Gen.sized (PathGenerator.generatePath testBoardDim)
            override x.Shrinker t = Seq.empty
        }

    static member Kette() = 
        { new Arbitrary<Kette>() with
            override x.Generator = Gen.sized (ChainGenerator.generateChain testBoardDim)
            override x.Shrinker t = Seq.empty
        }